//
//  SEGMenuListModel.h
//  FrameworkTest
//
//  Created by 刘山 on 2018/4/8.
//  Copyright © 2018年 刘山. All rights reserved.
//

#import <Foundation/Foundation.h>
#if __has_include(<Commom/SEGAdvlistManager.h>)
#import <Commom/SEGAdvlistManager.h>
#else
#import "SEGAdvlistManager.h"
#endif

#import "SEGActivityListModel.h"

@class SEGSharedNeihborhoodModel;
@class SEGNeighborRollViewModel;
@class SEGSquareViewModel;
@class SEGPgcRecommendModel;
@class SEGQueryGoodsIdelModel;

@interface SEGMenuListModel : NSObject
// 菜单导航栏改造

/**
 默认导航栏样式为粗体，展示底部分割线。
 默认导航栏样式为大粗体，不展示底部分割线。
 后台配置扩展字段:isShowLine=1展示导航栏分割线；isShowLine=2：不展示导航栏分割线； 不配置这个字段：展示默认样式
 */
@property (nonatomic, copy) NSString *isShowLine;

/**
 默认导航栏不透明。
 后台配置扩展字段:isTransparent=1：导航栏为透明样式。字体颜色本地编辑。
 */
@property (nonatomic, copy) NSString *isTransparent;

/**
 默认为白色。
 isShowThemeColor=1：背景色显示为主题色，字体颜色本地编辑；不配置这个字段：展示默认样式
 */
@property (nonatomic, copy) NSString *isShowThemeColor;

// 菜单改造：1408：portal v2.0.22-面客端APP菜单优化
/**
 组标题样式
 
 @see SEGMenuGroupType
 */
@property (nonatomic, copy) NSString *disGroupWidgetType;

/**
 是否显示组标题 1:显示，2:隐藏
 */
@property (nonatomic, copy) NSString *disGroupIsShow;

/**
 是否显示组间距 1:显示，2:隐藏
 */
@property (nonatomic, copy) NSString *disGroupIsMargin;

@property (nonatomic, copy) NSString *disGroupName; //组标题名称
@property (nonatomic, copy) NSString *disGroupAndroidIcon; //组标题icon（Android）
@property (nonatomic, copy) NSString *disGroupIosIcon; //组标题icon（IOS）
@property (nonatomic, copy) NSString *disGroupDesc; //组标题描述

/** 菜单分组+排序 */
@property (nonatomic, copy) NSString *disGroup;
/** 菜单控件类型(如：一行一列）*/
@property (nonatomic, copy) NSString *widgetType;
/** 组内排序 */
@property (nonatomic, copy) NSString *rn;
/** 默认展示图片 */
@property (nonatomic, copy) NSString *iosicon;
/** 选中图片 */
@property (nonatomic, copy) NSString *iosiconpre;
/** 用户权限 */
@property (nonatomic, copy) NSString *userType;
/** 跳转action）*/
@property (nonatomic, copy) NSString *action;
/** tabbar展示文字，菜单主标题）*/
@property (nonatomic, copy) NSString *serviceName;
/** 菜单副标题字段）*/
@property (nonatomic, copy) NSString *serviceDesc;
/** 跳转的类型：0：内部跳转、1：网页跳转 */
@property (nonatomic, copy) NSString *type;
/** 判断是否使用系统的浏览器打开URL:0：项目浏览器打开、1：系统浏览器打开 */
@property (nonatomic, copy) NSString *isBrowser;
/** 用于对应推送消息的type */
@property (nonatomic, copy) NSString *resCode;
/** 和settingsId共同确认子菜单数据 */
@property (nonatomic, copy) NSString *menuSid;
/** 用于打红点 定位唯一位置 */
@property (nonatomic, copy) NSString *settingsId;
/** 用于有赞商城 店铺加载链接 */
@property (nonatomic, copy) NSString *youzanHomeUrl;
/** 用于有赞商城 店铺ID */
@property (nonatomic, copy) NSString *youzanKdtId;
/** 新增字段 */
@property (nonatomic, copy) NSString *authCode;
/** 新增字段：1是 需要校验 2否 不需要校验 */
@property (nonatomic, copy) NSString *needAuth;
/** 是否是默认常用菜单 1：是  2：否 */
@property (nonatomic, copy) NSString *isDefaultCommonMenu;

@property (nonatomic, copy) NSString *instCode;
@property (nonatomic, copy) NSString *rowCol;
@property (nonatomic, copy) NSString *ext1;
@property (nonatomic, copy) NSString *templateInstId;
@property (nonatomic, copy) NSString *parentMenuSid;
@property (nonatomic, copy) NSString *nodeTempInstId;
@property (nonatomic, copy) NSString *androidicon;
@property (nonatomic, copy) NSString *androidiconpre;

@property (nonatomic, strong) NSArray<SEGMenuListModel*> *childList;

@property (nonatomic, copy) NSString *linkURL;//tab菜单需要

#pragma mark - 自定义字段
/**
 本地属性，在4.7.0版本添加
 作用：我的-积分商城，显示logo地址
 */
@property (nonatomic, copy) NSString *iconName;
/*
 tag，如果菜单存在但是没有业务数据,tag = YES 就把这条数据移除,默认都是NO
 */
@property (nonatomic, assign) BOOL tag;
/** 邻居们都在聊模型 */
@property (nonatomic, strong) SEGSharedNeihborhoodModel *neighborhoodData;
/** 邻里头条数据源 */
@property (nonatomic, copy) NSArray<SEGNeighborRollViewModel *> *neighborTopLineData;
/** 门禁数据模型列表 */
@property (nonatomic, copy) NSArray *doorListData;

/** 热门推荐20005 */
@property (nonatomic, copy) NSArray<SEGSquareViewModel*> *squareData;
/** 广告 包括精品推荐 */
@property (nonatomic, strong)SEGAdvertisementViewModel *advertisementData;

/** PGC数据模型 */
@property (nonatomic, strong) SEGPgcRecommendModel *pgcRecommendModel;

/**
 旧PGC数据
 */
@property (nonatomic, strong)id oldPGCDataSource;
/**
 旧PGC高度
 */
@property (nonatomic, assign) CGFloat oldPGCDHeight;

@property (nonatomic, assign) CGFloat kitHeight;

@property (nonatomic, strong) NSArray *propertyNoticeData;//物业通知

@property (nonatomic, copy) NSString *mineIntegral;

@property (nonatomic, strong) NSArray<SEGQueryGoodsIdelModel *> *fleaMarketData; ///< 跳蚤市场数据
@property (nonatomic, strong) SEGActivityListModel *activityModel; ///< 活动数据

/// 暗黑模式
@property (nonatomic, copy) NSString *iosDarkClickIcon;
/// 暗黑模式
@property (nonatomic, copy) NSString *iosDarkUnclickIcon;

/// 是否支持暗黑模式：1:支持 2:不支持
@property (nonatomic, copy) NSString *darkStatus;

//跳转微信小程序参数
@property (nonatomic, copy) NSString *wxUserName;
@property (nonatomic, copy) NSString *wxPath;
@property (nonatomic, copy) NSString *wxMiniProgramType;

/// 5.0.0新增 是否是网页缴费菜单 1：是
@property (nonatomic, copy) NSString *isWebBillPay;

#pragma mark - 常用菜单自定义字段
/** 常用菜单所在更多应用中的位置 */
@property (nonatomic, strong) NSIndexPath *indexPath;

- (instancetype)init;


/// 通过字段判断返回暗黑图标地址还是高亮图标地址
/// @param isDark self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark
-(NSString *)darkIconWithIsDark:(BOOL)isDark;
-(NSString *)darkPreIconWithIsDark:(BOOL)isDark;
@end
